package service

import (
	"e_mall_server/dao/mysql"
	"e_mall_server/models"
)

/**
 * @Author: zhaobin
 * @Description TODO
 * @Date: 2022-04-27 0:35
 */

// GetRoleList 获取角色列表接口
func GetRoleList() ([]models.Role, error) {
	return mysql.GetRoleList()
}

// AddRole 添加角色信息
func AddRole(role *models.Role) error {
	*(*role).Status = 1
	return mysql.AddRole(role)
}

// UpdateRole 修改角色信息
func UpdateRole(role *models.Role) int64 {
	return mysql.UpdateRole(role)
}

// DeleteRoleById 通过角色id删除角色数据
func DeleteRoleById(id int64) int64 {
	return mysql.DeleteRoleById(id)
}

// GetRoleDetailById 通过角色id获取角色详细信息
func GetRoleDetailById(id int64) (models.Role, error) {
	return mysql.GetRoleDetailById(id)
}

// AuthAccessToRole 给角色分配权限
func AuthAccessToRole(id int64, ids []int64) error {
	// 删除当前角色对应的权限
	if err := mysql.DeleteAccessByRoleId(id); err != nil {
		return err
	}
	// 增加当前角色对应的权限
	return mysql.AddAccessToRole(id, ids)
}
